using System;
using System.Collections.Generic;

namespace WiMo.Games.Drawables
{
    public interface IPositionable
    {
        /// <summary>
        /// 
        /// </summary>
        Origin Origin { get; set; }
        void Move(Vector2 moveBy);
        bool IsVisible { get; set; }
        PointF LastPosition { get; set; }
        GameTime LastUpdated { get; set; }
        PointF Position { get; set; }
        PointF UnscaledPosition { get; set; }
        Size Size { get; set; }
        Size UnscaledSize { get; set; }
        Rectangle BoundingRect { get; }

        List<Quadrant> Quandrants {get;}

        Vector2 Velocity { get; set; }

        /// <summary>
        /// Access to the games PhysicsManager, used for performance
        /// </summary>
        IPhysicsManager PhysicsManager { get; set; }
    }
}
